Data Dependence and Data-Flow Analysis of Arrays

نویسندگان

  • Dror E. Maydan
  • S. Amarsinghe
  • Monica S. Lam
چکیده

The power of any compiler is derived from, and also limited by, its program analyzers. Finding the right abstraction for program analysis is crucial in the development of compiler technology. For the abstraction to be useful, it must include sufficient information to support the code optimizations and transformations. In addition, it must be tractable to extract the information from at least a large enough set of programs. Data dependence, distance vectors and direction vectors are important data abstractions that have been proven useful for parallelization and loop transformations, and they are applicable to a large set of programs. The parallelizing compiler research frontier is currently pushing the limits of traditional data dependence analysis. For example, evaluation of today’s compiler technology suggests that reuse of data arrays in programs greatly reduces the opportunities for parallelism. Many more loops can be parallelized by privatizing the work arrays, that is, assigning a separate copy of the array to each processor. The information needed to support such an optimization is not just memory disambiguation, that is, if two references can refer to the same location. To determine if each iteration can have its own copy of the array, we need data-flow analysis on individual array elements. Another important research topic is code generation for distributed memory machines. The compiler is responsible for maintaining the coherence of data across processors. Generating efficient distributed memory code requires exact data-flow relationships between accesses to individual array locations. This paper proposes several analysis techniques that are useful for higher level optimizations. As we develop new data dependence abstractions, it is useful to relate the different abstractions in a uniform mathematical framework. We show that the various existing data dependence abstractions can be viewed as simply different approximations to the same dependence problem. For example, we say that two references are dependent as long as one dynamic pair of the instances of the two references can refer to the same location. Dependence levels, direction vectors and distance vectors provide more accurate approximations. We can define the approximations precisely using the mathematical concept of equivalence classes. Simple data dependence is a lower limit of the approximation in that all pairs of instances are said to belong to the same single equivalence class. The upper

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A New Analytical Model for Developing Fractional Flow Curve Using Production Data

The immiscible displacement of oil by water through a porous and permeable reservoir rock can be described by the use of a fractional flow curves (fw versus Sw). Water flooding project parameters can be obtained from the fractional flow curve. However, developing a representative fractional flow curve for a specific reservoir can be quite challenging when fluid and special core analysis data is...

متن کامل

Automatic Parallelization Using the Value Evolution Graph

We introduce a framework for the analysis of memory reference sets addressed by induction variables without closed forms. This framework relies on a new data structure, the Value Evolution Graph (VEG), which models the global flow of scalar and array values within a program. We describe the application of our framework to array dataflow analysis, privatization, and dependence analysis. This res...

متن کامل

Normalization of qPCR array data: a novel method based on procrustes superimposition

MicroRNAs (miRNAs) are short, endogenous non-coding RNAs that function as guide molecules to regulate transcription of their target messenger RNAs. Several methods including low-density qPCR arrays are being increasingly used to profile the expression of these molecules in a variety of different biological conditions. Reliable analysis of expression profiles demands removal of technical variati...

متن کامل

An Example of Data Dependence Result for The Class of Almost Contraction Mappings

In the present paper, we show that $S^*$ iteration method can be used to approximate fixed point of almost contraction mappings. Furthermore, we prove that this iteration method is equivalent to CR iteration method  and it produces a slow convergence rate compared to the CR iteration method for the class of almost contraction mappings. We also present table and graphic to support this result. F...

متن کامل

Determination of Climate Changes on Streamflow Process in the West of Lake Urmia With Used to Trend and Stationarity Analysis

One of the most important hydrological time series task is to determine if there is any trend in the data and how to achieve stationarity when there is nonstationarity behavior in data. Detecting trend and stationarity in hydrological time series may help us to understand the possible links between hydrological processes and global climate changes. In this study yearly, monthly and daily stream...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1992